[INFO] cloning repository https://github.com/PhilippRados/rucc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PhilippRados/rucc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhilippRados%2Frucc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhilippRados%2Frucc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 53bf961d9e5fed68831b2cab4cdb4f77f90ba8f5
[INFO] fixing PhilippRados/rucc against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhilippRados%2Frucc" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/PhilippRados/rucc
[INFO] finished tweaking git repo https://github.com/PhilippRados/rucc
[INFO] tweaked toml for git repo https://github.com/PhilippRados/rucc written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/PhilippRados/rucc on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/PhilippRados/rucc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020
[INFO] running `Command { std: "docker" "start" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating wrecc_compiler/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking wrecc_compiler v0.2.0 (/opt/rustwide/workdir/wrecc_compiler)
[INFO] [stderr]    Migrating wrecc_compiler/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/typechecker/mir/decl.rs (1 fix)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/typechecker/fold.rs (3 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/common/types.rs (2 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/parser/mod.rs (4 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/codegen/mod.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/register_allocation.rs:295:46
[INFO] [stdout]     |
[INFO] [stdout] 295 |             if let Some(expired_intervals) = self.live_intervals.remove(&key) {
[INFO] [stdout]     |                         -----------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |                    |
[INFO] [stdout]     |                         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `expired_intervals` calls a custom destructor
[INFO] [stdout]     |                         `expired_intervals` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `expired_intervals` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/mod.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |           for declarator in declarators {
[INFO] [stdout]     |               ----------    -----------
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `declarator` calls a custom destructor
[INFO] [stdout]     |               `declarator` will be dropped later as of Edition 2024
[INFO] [stdout] 374 |               let var_symbol = declarator.entry.borrow().clone();
[INFO] [stdout]     |                   ----------   -------------------------
[INFO] [stdout]     |                   |            |
[INFO] [stdout]     |                   |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `var_symbol` calls a custom destructor
[INFO] [stdout]     |                   `var_symbol` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 | /                 declarator
[INFO] [stdout] 396 | |                     .entry
[INFO] [stdout] 397 | |                     .borrow_mut()
[INFO] [stdout]     | |                                 ^
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 403 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `declarator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `var_symbol` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/mod.rs:523:21
[INFO] [stdout]     |
[INFO] [stdout] 491 |           for declarator in declarators {
[INFO] [stdout]     |               ----------    -----------
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `declarator` calls a custom destructor
[INFO] [stdout]     |               `declarator` will be dropped later as of Edition 2024
[INFO] [stdout] 492 |               let var_symbol = declarator.entry.borrow().clone();
[INFO] [stdout]     |                   ----------   -------------------------
[INFO] [stdout]     |                   |            |
[INFO] [stdout]     |                   |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `var_symbol` calls a custom destructor
[INFO] [stdout]     |                   `var_symbol` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 | /                     declarator
[INFO] [stdout] 506 | |                         .entry
[INFO] [stdout] 507 | |                         .borrow_mut()
[INFO] [stdout]     | |                                     -
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |_____________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 523 | /                     declarator
[INFO] [stdout] 524 | |                         .entry
[INFO] [stdout] 525 | |                         .borrow_mut()
[INFO] [stdout]     | |                                     ^
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout]     | |_____________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 531 | |                 }
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `declarator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `var_symbol` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking wrecc v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/codegen/register_allocation.rs (8 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/parser/mod.rs (1 fix)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed wrecc_compiler/src/preprocessor/mod.rs (2 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/common/environment.rs (7 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/common/types.rs (3 fixes)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/typechecker/fold.rs (1 fix)
[INFO] [stderr]        Fixed wrecc_compiler/src/compiler/typechecker/mod.rs (10 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/register_allocation.rs:295:46
[INFO] [stdout]     |
[INFO] [stdout] 295 |             if let Some(expired_intervals) = self.live_intervals.remove(&key) {
[INFO] [stdout]     |                         -----------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |                    |
[INFO] [stdout]     |                         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `expired_intervals` calls a custom destructor
[INFO] [stdout]     |                         `expired_intervals` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `expired_intervals` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/mod.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |           for declarator in declarators {
[INFO] [stdout]     |               ----------    -----------
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `declarator` calls a custom destructor
[INFO] [stdout]     |               `declarator` will be dropped later as of Edition 2024
[INFO] [stdout] 374 |               let var_symbol = declarator.entry.borrow().clone();
[INFO] [stdout]     |                   ----------   -------------------------
[INFO] [stdout]     |                   |            |
[INFO] [stdout]     |                   |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `var_symbol` calls a custom destructor
[INFO] [stdout]     |                   `var_symbol` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 | /                 declarator
[INFO] [stdout] 396 | |                     .entry
[INFO] [stdout] 397 | |                     .borrow_mut()
[INFO] [stdout]     | |                                 ^
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |_________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 403 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `declarator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `var_symbol` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/codegen/mod.rs:523:21
[INFO] [stdout]     |
[INFO] [stdout] 491 |           for declarator in declarators {
[INFO] [stdout]     |               ----------    -----------
[INFO] [stdout]     |               |             |
[INFO] [stdout]     |               |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `declarator` calls a custom destructor
[INFO] [stdout]     |               `declarator` will be dropped later as of Edition 2024
[INFO] [stdout] 492 |               let var_symbol = declarator.entry.borrow().clone();
[INFO] [stdout]     |                   ----------   -------------------------
[INFO] [stdout]     |                   |            |
[INFO] [stdout]     |                   |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `var_symbol` calls a custom destructor
[INFO] [stdout]     |                   `var_symbol` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 | /                     declarator
[INFO] [stdout] 506 | |                         .entry
[INFO] [stdout] 507 | |                         .borrow_mut()
[INFO] [stdout]     | |                                     -
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |_____________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 523 | /                     declarator
[INFO] [stdout] 524 | |                         .entry
[INFO] [stdout] 525 | |                         .borrow_mut()
[INFO] [stdout]     | |                                     ^
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout]     | |_____________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 531 | |                 }
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `declarator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `var_symbol` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/typechecker/mod.rs:2565:12
[INFO] [stdout]      |
[INFO] [stdout] 2553 |         let mut typechecker = TypeChecker::new();
[INFO] [stdout]      |             ---------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `typechecker` calls a custom destructor
[INFO] [stdout]      |             `typechecker` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2565 |         Ok(declarator.unwrap().init.unwrap())
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2566 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `typechecker` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:860:17
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 &HashMap::new(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 868 |         setup!(input)
[INFO] [stdout]     |         ------------- in this macro invocation
[INFO] [stdout] 869 |             .start()
[INFO] [stdout]     |              ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:859:17
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 &Vec::new(),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 868 |         setup!(input)
[INFO] [stdout]     |         ------------- in this macro invocation
[INFO] [stdout] 869 |             .start()
[INFO] [stdout]     |              ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:860:17
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 &HashMap::new(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 878 |         if let Err(e) = setup!(input).start() {
[INFO] [stdout]     |                         ------------- ----- borrow later used by call
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:859:17
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 &Vec::new(),
[INFO] [stdout]     |                 ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...
[INFO] [stdout] 878 |         if let Err(e) = setup!(input).start() {
[INFO] [stdout]     |                         ------------- ----- borrow later used by call
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/codegen/register_allocation.rs:726:17
[INFO] [stdout]     |
[INFO] [stdout] 726 |                   setup_type!("void (int, int)").ty,
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/codegen/register_allocation.rs:726:17
[INFO] [stdout]     |
[INFO] [stdout] 726 |                 setup_type!("void (int, int)").ty,
[INFO] [stdout]     |                 ------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/codegen/register_allocation.rs:783:17
[INFO] [stdout]     |
[INFO] [stdout] 783 |                   setup_type!("void (int, int)").ty,
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/codegen/register_allocation.rs:783:17
[INFO] [stdout]     |
[INFO] [stdout] 783 |                 setup_type!("void (int, int)").ty,
[INFO] [stdout]     |                 ------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:465:27
[INFO] [stdout]     |
[INFO] [stdout] 465 |           declare(&mut env, symbol!("main","int()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                             --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:465:27
[INFO] [stdout]     |
[INFO] [stdout] 465 |         declare(&mut env, symbol!("main","int()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                           --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:468:26
[INFO] [stdout]     |
[INFO] [stdout] 468 |           declare(&mut env,symbol!("s", "char*", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:468:26
[INFO] [stdout]     |
[INFO] [stdout] 468 |         declare(&mut env,symbol!("s", "char*", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:472:26
[INFO] [stdout]     |
[INFO] [stdout] 472 |           declare(&mut env,symbol!("n", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:472:26
[INFO] [stdout]     |
[INFO] [stdout] 472 |         declare(&mut env,symbol!("n", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:479:26
[INFO] [stdout]     |
[INFO] [stdout] 479 |           declare(&mut env,symbol!("n", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:479:26
[INFO] [stdout]     |
[INFO] [stdout] 479 |         declare(&mut env,symbol!("n", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:507:26
[INFO] [stdout]     |
[INFO] [stdout] 507 |           declare(&mut env,symbol!("a", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:507:26
[INFO] [stdout]     |
[INFO] [stdout] 507 |         declare(&mut env,symbol!("a", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:508:26
[INFO] [stdout]     |
[INFO] [stdout] 508 |           declare(&mut env,symbol!("b", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:508:26
[INFO] [stdout]     |
[INFO] [stdout] 508 |         declare(&mut env,symbol!("b", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:510:27
[INFO] [stdout]     |
[INFO] [stdout] 510 |           declare(&mut env, symbol!("foo","int (int,int)", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:510:27
[INFO] [stdout]     |
[INFO] [stdout] 510 |         declare(&mut env, symbol!("foo","int (int,int)", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                           ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:519:26
[INFO] [stdout]     |
[INFO] [stdout] 519 |           declare(&mut env,symbol!("some", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:519:26
[INFO] [stdout]     |
[INFO] [stdout] 519 |         declare(&mut env,symbol!("some", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ---------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:529:27
[INFO] [stdout]     |
[INFO] [stdout] 529 |           declare(&mut env, symbol!("main","int ()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                             ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:529:27
[INFO] [stdout]     |
[INFO] [stdout] 529 |         declare(&mut env, symbol!("main","int ()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                           ---------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:551:27
[INFO] [stdout]     |
[INFO] [stdout] 551 |           declare(&mut env, symbol!("main","int ()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                             ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:551:27
[INFO] [stdout]     |
[INFO] [stdout] 551 |         declare(&mut env, symbol!("main","int ()", InitType::Definition), true).unwrap();
[INFO] [stdout]     |                           ---------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:552:27
[INFO] [stdout]     |
[INFO] [stdout] 552 |           declare(&mut env, symbol!("a", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                             ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:552:27
[INFO] [stdout]     |
[INFO] [stdout] 552 |         declare(&mut env, symbol!("a", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                           ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:560:27
[INFO] [stdout]     |
[INFO] [stdout] 560 |           declare(&mut env, symbol!("a", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                             ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:560:27
[INFO] [stdout]     |
[INFO] [stdout] 560 |         declare(&mut env, symbol!("a", "long", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                           ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:568:26
[INFO] [stdout]     |
[INFO] [stdout] 568 |           declare(&mut env,symbol!("a", "char", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:568:26
[INFO] [stdout]     |
[INFO] [stdout] 568 |         declare(&mut env,symbol!("a", "char", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:569:26
[INFO] [stdout]     |
[INFO] [stdout] 569 |           declare(&mut env,symbol!("b", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:569:26
[INFO] [stdout]     |
[INFO] [stdout] 569 |         declare(&mut env,symbol!("b", "int", InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:571:27
[INFO] [stdout]     |
[INFO] [stdout] 571 |           declare(&mut env, symbol!("foo","int (char, int)", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                             ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:571:27
[INFO] [stdout]     |
[INFO] [stdout] 571 |         declare(&mut env, symbol!("foo","int (char, int)", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                           ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:601:27
[INFO] [stdout]     |
[INFO] [stdout] 601 |           declare(&mut env, symbol!("foo","int ()",InitType::Declaration), true).unwrap();
[INFO] [stdout]     |                             --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:601:27
[INFO] [stdout]     |
[INFO] [stdout] 601 |         declare(&mut env, symbol!("foo","int ()",InitType::Declaration), true).unwrap();
[INFO] [stdout]     |                           --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:602:27
[INFO] [stdout]     |
[INFO] [stdout] 602 |           declare(&mut env, symbol!("foo","int ()",InitType::Definition), true).unwrap();
[INFO] [stdout]     |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:602:27
[INFO] [stdout]     |
[INFO] [stdout] 602 |         declare(&mut env, symbol!("foo","int ()",InitType::Definition), true).unwrap();
[INFO] [stdout]     |                           -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:603:27
[INFO] [stdout]     |
[INFO] [stdout] 603 |           declare(&mut env, symbol!("foo","int ()",InitType::Declaration), true).unwrap();
[INFO] [stdout]     |                             --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:603:27
[INFO] [stdout]     |
[INFO] [stdout] 603 |         declare(&mut env, symbol!("foo","int ()",InitType::Declaration), true).unwrap();
[INFO] [stdout]     |                           --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:605:35
[INFO] [stdout]     |
[INFO] [stdout] 605 |           assert!(declare(&mut env, symbol!("foo","int ()", InitType::Definition), true).is_err());
[INFO] [stdout]     |                                     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:605:35
[INFO] [stdout]     |
[INFO] [stdout] 605 |         assert!(declare(&mut env, symbol!("foo","int ()", InitType::Definition), true).is_err());
[INFO] [stdout]     |                                   --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:614:27
[INFO] [stdout]     |
[INFO] [stdout] 614 |           declare(&mut env, symbol!("bar","void ()", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                             ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:614:27
[INFO] [stdout]     |
[INFO] [stdout] 614 |         declare(&mut env, symbol!("bar","void ()", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                           ----------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:615:35
[INFO] [stdout]     |
[INFO] [stdout] 615 |           assert!(declare(&mut env, symbol!("bar","void ()", InitType::Declaration), false).is_ok());
[INFO] [stdout]     |                                     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:615:35
[INFO] [stdout]     |
[INFO] [stdout] 615 |         assert!(declare(&mut env, symbol!("bar","void ()", InitType::Declaration), false).is_ok());
[INFO] [stdout]     |                                   ----------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:617:27
[INFO] [stdout]     |
[INFO] [stdout] 617 |           declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:617:27
[INFO] [stdout]     |
[INFO] [stdout] 617 |         declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                           -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:618:35
[INFO] [stdout]     |
[INFO] [stdout] 618 |           assert!(declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).is_err());
[INFO] [stdout]     |                                     -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:618:35
[INFO] [stdout]     |
[INFO] [stdout] 618 |         assert!(declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).is_err());
[INFO] [stdout]     |                                   -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:619:35
[INFO] [stdout]     |
[INFO] [stdout] 619 |           assert!(declare(&mut env, symbol!("baz", "int", InitType::Definition), false).is_err());
[INFO] [stdout]     |                                     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:619:35
[INFO] [stdout]     |
[INFO] [stdout] 619 |         assert!(declare(&mut env, symbol!("baz", "int", InitType::Definition), false).is_err());
[INFO] [stdout]     |                                   ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:623:27
[INFO] [stdout]     |
[INFO] [stdout] 623 |           declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                             -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:623:27
[INFO] [stdout]     |
[INFO] [stdout] 623 |         declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).unwrap();
[INFO] [stdout]     |                           -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:624:35
[INFO] [stdout]     |
[INFO] [stdout] 624 |           assert!(declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).is_ok());
[INFO] [stdout]     |                                     -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:624:35
[INFO] [stdout]     |
[INFO] [stdout] 624 |         assert!(declare(&mut env, symbol!("baz", "int", InitType::Declaration), false).is_ok());
[INFO] [stdout]     |                                   -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:625:35
[INFO] [stdout]     |
[INFO] [stdout] 625 |           assert!(declare(&mut env, symbol!("baz", "int", InitType::Definition), false).is_ok());
[INFO] [stdout]     |                                     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:625:35
[INFO] [stdout]     |
[INFO] [stdout] 625 |         assert!(declare(&mut env, symbol!("baz", "int", InitType::Definition), false).is_ok());
[INFO] [stdout]     |                                   ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:626:35
[INFO] [stdout]     |
[INFO] [stdout] 626 |           assert!(declare(&mut env, symbol!("baz", "long", InitType::Declaration), false).is_err());
[INFO] [stdout]     |                                     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:626:35
[INFO] [stdout]     |
[INFO] [stdout] 626 |         assert!(declare(&mut env, symbol!("baz", "long", InitType::Declaration), false).is_err());
[INFO] [stdout]     |                                   --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:634:26
[INFO] [stdout]     |
[INFO] [stdout] 634 |           declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Static),true).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:634:26
[INFO] [stdout]     |
[INFO] [stdout] 634 |         declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Static),true).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:635:26
[INFO] [stdout]     |
[INFO] [stdout] 635 |           declare(&mut env,symbol!("foo","int",InitType::Definition,StorageClass::Static),true).unwrap();
[INFO] [stdout]     |                            -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:635:26
[INFO] [stdout]     |
[INFO] [stdout] 635 |         declare(&mut env,symbol!("foo","int",InitType::Definition,StorageClass::Static),true).unwrap();
[INFO] [stdout]     |                          -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:636:39
[INFO] [stdout]     |
[INFO] [stdout] 636 |           let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:636:39
[INFO] [stdout]     |
[INFO] [stdout] 636 |         let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                       --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:639:43
[INFO] [stdout]     |
[INFO] [stdout] 639 |   ...!(declare(&mut env,symbol!("foo","int",InitType::Definition,StorageClass::Static),true),Err(Error {kind:ErrorKind::Redefinitio...
[INFO] [stdout]     |                         -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:639:43
[INFO] [stdout]     |
[INFO] [stdout] 639 | ...   assert!(matches!(declare(&mut env,symbol!("foo","int",InitType::Definition,StorageClass::Static),true),Err(Error {kind:ErrorK...
[INFO] [stdout]     |                                         -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:640:43
[INFO] [stdout]     |
[INFO] [stdout] 640 |   ...   assert!(matches!(declare(&mut env,symbol!("foo","int",InitType::Declaration),true),Err(Error {kind:ErrorKind::StorageClassM...
[INFO] [stdout]     |                                           ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:640:43
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...   assert!(matches!(declare(&mut env,symbol!("foo","int",InitType::Declaration),true),Err(Error {kind:ErrorKind::StorageClassMis...
[INFO] [stdout]     |                                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:642:26
[INFO] [stdout]     |
[INFO] [stdout] 642 |           declare(&mut env,symbol!("bar","int",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                            ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:642:26
[INFO] [stdout]     |
[INFO] [stdout] 642 |         declare(&mut env,symbol!("bar","int",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                          ----------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:643:43
[INFO] [stdout]     |
[INFO] [stdout] 643 |   ...!(declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Static),true),Err(Error {kind:ErrorKind::StorageCla...
[INFO] [stdout]     |                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:643:43
[INFO] [stdout]     |
[INFO] [stdout] 643 | ...   assert!(matches!(declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Static),true),Err(Error {kind:Error...
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:645:26
[INFO] [stdout]     |
[INFO] [stdout] 645 |           declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:645:26
[INFO] [stdout]     |
[INFO] [stdout] 645 |         declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:646:43
[INFO] [stdout]     |
[INFO] [stdout] 646 |   ...!(declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Static),true),Err(Error {kind:ErrorKind::StorageCla...
[INFO] [stdout]     |                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:646:43
[INFO] [stdout]     |
[INFO] [stdout] 646 | ...   assert!(matches!(declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Static),true),Err(Error {kind:Error...
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:653:26
[INFO] [stdout]     |
[INFO] [stdout] 653 |           declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:653:26
[INFO] [stdout]     |
[INFO] [stdout] 653 |         declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:654:39
[INFO] [stdout]     |
[INFO] [stdout] 654 |           let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:654:39
[INFO] [stdout]     |
[INFO] [stdout] 654 |         let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                       --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:657:39
[INFO] [stdout]     |
[INFO] [stdout] 657 |           let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:657:39
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let symbol = declare(&mut env,symbol!("foo","int",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                                       ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |           declare(&mut env,symbol!("bar","int",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:660:26
[INFO] [stdout]     |
[INFO] [stdout] 660 |         declare(&mut env,symbol!("bar","int",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:661:39
[INFO] [stdout]     |
[INFO] [stdout] 661 |           let symbol = declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:661:39
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let symbol = declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                       --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:664:26
[INFO] [stdout]     |
[INFO] [stdout] 664 |           declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:664:26
[INFO] [stdout]     |
[INFO] [stdout] 664 |         declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:665:39
[INFO] [stdout]     |
[INFO] [stdout] 665 |           let symbol = declare(&mut env,symbol!("baz","int",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                                         ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:665:39
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let symbol = declare(&mut env,symbol!("baz","int",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                                       ----------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:674:26
[INFO] [stdout]     |
[INFO] [stdout] 674 |           declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:674:26
[INFO] [stdout]     |
[INFO] [stdout] 674 |         declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:675:26
[INFO] [stdout]     |
[INFO] [stdout] 675 |           declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:675:26
[INFO] [stdout]     |
[INFO] [stdout] 675 |         declare(&mut env,symbol!("baz","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:677:26
[INFO] [stdout]     |
[INFO] [stdout] 677 |           declare(&mut env,symbol!("foo","int",InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:677:26
[INFO] [stdout]     |
[INFO] [stdout] 677 |         declare(&mut env,symbol!("foo","int",InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:678:43
[INFO] [stdout]     |
[INFO] [stdout] 678 |   ...!(declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),false),Err(Error {kind:ErrorKind::StorageCl...
[INFO] [stdout]     |                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:678:43
[INFO] [stdout]     |
[INFO] [stdout] 678 | ...   assert!(matches!(declare(&mut env,symbol!("foo","int",InitType::Declaration,StorageClass::Extern),false),Err(Error {kind:Erro...
[INFO] [stdout]     |                                         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:680:26
[INFO] [stdout]     |
[INFO] [stdout] 680 |           declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                            --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:680:26
[INFO] [stdout]     |
[INFO] [stdout] 680 |         declare(&mut env,symbol!("bar","int",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                          --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:681:43
[INFO] [stdout]     |
[INFO] [stdout] 681 |   ...   assert!(matches!(declare(&mut env,symbol!("bar","int",InitType::Declaration),false),Err(Error {kind:ErrorKind::StorageClass...
[INFO] [stdout]     |                                           ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:681:43
[INFO] [stdout]     |
[INFO] [stdout] 681 | ...   assert!(matches!(declare(&mut env,symbol!("bar","int",InitType::Declaration),false),Err(Error {kind:ErrorKind::StorageClassMi...
[INFO] [stdout]     |                                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:683:26
[INFO] [stdout]     |
[INFO] [stdout] 683 |           declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:683:26
[INFO] [stdout]     |
[INFO] [stdout] 683 |         declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:684:26
[INFO] [stdout]     |
[INFO] [stdout] 684 |           declare(&mut env,symbol!("goo","int ()",InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                            --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:684:26
[INFO] [stdout]     |
[INFO] [stdout] 684 |         declare(&mut env,symbol!("goo","int ()",InitType::Declaration),false).unwrap();
[INFO] [stdout]     |                          --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:685:26
[INFO] [stdout]     |
[INFO] [stdout] 685 |           declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:685:26
[INFO] [stdout]     |
[INFO] [stdout] 685 |         declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:687:26
[INFO] [stdout]     |
[INFO] [stdout] 687 |           declare(&mut env,symbol!("gaa","int",InitType::Declaration,StorageClass::Auto),false).unwrap();
[INFO] [stdout]     |                            ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:687:26
[INFO] [stdout]     |
[INFO] [stdout] 687 |         declare(&mut env,symbol!("gaa","int",InitType::Declaration,StorageClass::Auto),false).unwrap();
[INFO] [stdout]     |                          ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:688:43
[INFO] [stdout]     |
[INFO] [stdout] 688 |   ...   assert!(matches!(declare(&mut env,symbol!("gaa","int",InitType::Definition,StorageClass::Auto),false),Err(Error {kind:Error...
[INFO] [stdout]     |                                           ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:688:43
[INFO] [stdout]     |
[INFO] [stdout] 688 | ...   assert!(matches!(declare(&mut env,symbol!("gaa","int",InitType::Definition,StorageClass::Auto),false),Err(Error {kind:ErrorKi...
[INFO] [stdout]     |                                         ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:689:43
[INFO] [stdout]     |
[INFO] [stdout] 689 |   ...   assert!(matches!(declare(&mut env,symbol!("gaa","int",InitType::Declaration),false),Err(Error {kind:ErrorKind::Redefinition...
[INFO] [stdout]     |                                           ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:689:43
[INFO] [stdout]     |
[INFO] [stdout] 689 | ...   assert!(matches!(declare(&mut env,symbol!("gaa","int",InitType::Declaration),false),Err(Error {kind:ErrorKind::Redefinition(....
[INFO] [stdout]     |                                         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:697:26
[INFO] [stdout]     |
[INFO] [stdout] 697 |           declare(&mut env,symbol!("goo","int ()",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                            -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:697:26
[INFO] [stdout]     |
[INFO] [stdout] 697 |         declare(&mut env,symbol!("goo","int ()",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                          -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:698:39
[INFO] [stdout]     |
[INFO] [stdout] 698 |           let symbol = declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                         ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:698:39
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let symbol = declare(&mut env,symbol!("goo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:701:26
[INFO] [stdout]     |
[INFO] [stdout] 701 |           declare(&mut env,symbol!("foo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                            ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:701:26
[INFO] [stdout]     |
[INFO] [stdout] 701 |         declare(&mut env,symbol!("foo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                          ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:702:39
[INFO] [stdout]     |
[INFO] [stdout] 702 |           let symbol = declare(&mut env,symbol!("foo","int ()",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                                         -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:702:39
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let symbol = declare(&mut env,symbol!("foo","int ()",InitType::Definition),true).unwrap();
[INFO] [stdout]     |                                       -------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:705:26
[INFO] [stdout]     |
[INFO] [stdout] 705 |           declare(&mut env,symbol!("zoo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                            ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:705:26
[INFO] [stdout]     |
[INFO] [stdout] 705 |         declare(&mut env,symbol!("zoo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                          ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:706:39
[INFO] [stdout]     |
[INFO] [stdout] 706 |           let symbol = declare(&mut env,symbol!("zoo","int ()",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                                         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:706:39
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let symbol = declare(&mut env,symbol!("zoo","int ()",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                                       --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:709:26
[INFO] [stdout]     |
[INFO] [stdout] 709 |           declare(&mut env,symbol!("boo","int ()",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                            --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:709:26
[INFO] [stdout]     |
[INFO] [stdout] 709 |         declare(&mut env,symbol!("boo","int ()",InitType::Declaration),true).unwrap();
[INFO] [stdout]     |                          --------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:710:39
[INFO] [stdout]     |
[INFO] [stdout] 710 |           let symbol = declare(&mut env,symbol!("boo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                         ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/common/environment.rs:710:39
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let symbol = declare(&mut env,symbol!("boo","int ()",InitType::Declaration,StorageClass::Extern),true).unwrap();
[INFO] [stdout]     |                                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `symbol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout] ...
[INFO] [stdout] 877 |           let type_string = setup_type!(input);
[INFO] [stdout]     |                             ------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout] ...
[INFO] [stdout] 877 |         let type_string = setup_type!(input);
[INFO] [stdout]     |                           ------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]     |
[INFO] [stdout] 848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]     |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  ____________________|
[INFO] [stdout]     | |
[INFO] [stdout] 849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout] 850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout] 851 | |                     ),
[INFO] [stdout] 852 | |                     ty,
[INFO] [stdout] 853 | |                 ) {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/typechecker/fold.rs:431:34
[INFO] [stdout]     |
[INFO] [stdout] 431 |           assert_eq!(actual.qtype, setup_type!(expected_type));
[INFO] [stdout]     |                                    -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]     |
[INFO] [stdout] 855 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: wrecc_compiler/src/compiler/typechecker/fold.rs:431:34
[INFO] [stdout]     |
[INFO] [stdout] 431 |         assert_eq!(actual.qtype, setup_type!(expected_type));
[INFO] [stdout]     |                                  -------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `setup_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2575:33
[INFO] [stdout]      |
[INFO] [stdout] 2575 |               let expected_type = setup_type!(expected.2);
[INFO] [stdout]      |                                   ----------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2575:33
[INFO] [stdout]      |
[INFO] [stdout] 2575 |             let expected_type = setup_type!(expected.2);
[INFO] [stdout]      |                                 ----------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2589:9
[INFO] [stdout]      |
[INFO] [stdout] 2589 |           assert_type!("1u", "unsigned int");
[INFO] [stdout]      |           ---------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2589:9
[INFO] [stdout]      |
[INFO] [stdout] 2589 |         assert_type!("1u", "unsigned int");
[INFO] [stdout]      |         ---------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2590:9
[INFO] [stdout]      |
[INFO] [stdout] 2590 |           assert_type!("1l", "long");
[INFO] [stdout]      |           -------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2590:9
[INFO] [stdout]      |
[INFO] [stdout] 2590 |         assert_type!("1l", "long");
[INFO] [stdout]      |         -------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2591:9
[INFO] [stdout]      |
[INFO] [stdout] 2591 |           assert_type!("1ll", "long");
[INFO] [stdout]      |           --------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2591:9
[INFO] [stdout]      |
[INFO] [stdout] 2591 |         assert_type!("1ll", "long");
[INFO] [stdout]      |         --------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2592:9
[INFO] [stdout]      |
[INFO] [stdout] 2592 |           assert_type!("4294967295", "long");
[INFO] [stdout]      |           ---------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2592:9
[INFO] [stdout]      |
[INFO] [stdout] 2592 |         assert_type!("4294967295", "long");
[INFO] [stdout]      |         ---------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2593:9
[INFO] [stdout]      |
[INFO] [stdout] 2593 |           assert_type!("4294967295u", "unsigned int");
[INFO] [stdout]      |           ------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2593:9
[INFO] [stdout]      |
[INFO] [stdout] 2593 |         assert_type!("4294967295u", "unsigned int");
[INFO] [stdout]      |         ------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2594:9
[INFO] [stdout]      |
[INFO] [stdout] 2594 |           assert_type!("4294967296u", "unsigned long");
[INFO] [stdout]      |           -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2594:9
[INFO] [stdout]      |
[INFO] [stdout] 2594 |         assert_type!("4294967296u", "unsigned long");
[INFO] [stdout]      |         -------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2595:9
[INFO] [stdout]      |
[INFO] [stdout] 2595 |           assert_type!("9223372036854775807l", "long");
[INFO] [stdout]      |           -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2595:9
[INFO] [stdout]      |
[INFO] [stdout] 2595 |         assert_type!("9223372036854775807l", "long");
[INFO] [stdout]      |         -------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2596:9
[INFO] [stdout]      |
[INFO] [stdout] 2596 |           assert_type!("9223372036854775807ULL", "unsigned long");
[INFO] [stdout]      |           ------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2596:9
[INFO] [stdout]      |
[INFO] [stdout] 2596 |         assert_type!("9223372036854775807ULL", "unsigned long");
[INFO] [stdout]      |         ------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2597:9
[INFO] [stdout]      |
[INFO] [stdout] 2597 |           assert_type!("9223372036854775808l", "unsigned long");
[INFO] [stdout]      |           ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2597:9
[INFO] [stdout]      |
[INFO] [stdout] 2597 |         assert_type!("9223372036854775808l", "unsigned long");
[INFO] [stdout]      |         ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2598:9
[INFO] [stdout]      |
[INFO] [stdout] 2598 |           assert_type!("0xffffffff", "unsigned int");
[INFO] [stdout]      |           ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2598:9
[INFO] [stdout]      |
[INFO] [stdout] 2598 |         assert_type!("0xffffffff", "unsigned int");
[INFO] [stdout]      |         ------------------------------------------ in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2599:9
[INFO] [stdout]      |
[INFO] [stdout] 2599 |           assert_type!("0xffffffffl", "long");
[INFO] [stdout]      |           ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2599:9
[INFO] [stdout]      |
[INFO] [stdout] 2599 |         assert_type!("0xffffffffl", "long");
[INFO] [stdout]      |         ----------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2600:9
[INFO] [stdout]      |
[INFO] [stdout] 2600 |           assert_type!("037777777777", "unsigned int");
[INFO] [stdout]      |           -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2600:9
[INFO] [stdout]      |
[INFO] [stdout] 2600 |         assert_type!("037777777777", "unsigned int");
[INFO] [stdout]      |         -------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2601:9
[INFO] [stdout]      |
[INFO] [stdout] 2601 |           assert_type!("037777777777u", "unsigned int");
[INFO] [stdout]      |           --------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2601:9
[INFO] [stdout]      |
[INFO] [stdout] 2601 |         assert_type!("037777777777u", "unsigned int");
[INFO] [stdout]      |         --------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2602:9
[INFO] [stdout]      |
[INFO] [stdout] 2602 |           assert_type!("037777777777l", "long");
[INFO] [stdout]      |           ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2602:9
[INFO] [stdout]      |
[INFO] [stdout] 2602 |         assert_type!("037777777777l", "long");
[INFO] [stdout]      |         ------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2609:9
[INFO] [stdout]      |
[INFO] [stdout] 2609 |           assert_type!("(char)'a' + 1L", "long");
[INFO] [stdout]      |           -------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2609:9
[INFO] [stdout]      |
[INFO] [stdout] 2609 |         assert_type!("(char)'a' + 1L", "long");
[INFO] [stdout]      |         -------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2610:9
[INFO] [stdout]      |
[INFO] [stdout] 2610 |           assert_type!("2u - 10", "unsigned int");
[INFO] [stdout]      |           --------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2610:9
[INFO] [stdout]      |
[INFO] [stdout] 2610 |         assert_type!("2u - 10", "unsigned int");
[INFO] [stdout]      |         --------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2611:9
[INFO] [stdout]      |
[INFO] [stdout] 2611 |           assert_type!("5UL - 2ULL", "unsigned long");
[INFO] [stdout]      |           ------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2611:9
[INFO] [stdout]      |
[INFO] [stdout] 2611 |         assert_type!("5UL - 2ULL", "unsigned long");
[INFO] [stdout]      |         ------------------------------------------- in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:848:20
[INFO] [stdout]      |
[INFO] [stdout]  848 |                   if let Ok(actual_ty) = crate::compiler::typechecker::TypeChecker::new().parse_type(
[INFO] [stdout]      |                      ^                   ------------------------------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]      |  ____________________|
[INFO] [stdout]      | |
[INFO] [stdout]  849 | |                     &crate::compiler::common::token::Token::default(
[INFO] [stdout]  850 | |                         crate::compiler::common::token::TokenKind::Semicolon,
[INFO] [stdout]  851 | |                     ),
[INFO] [stdout]  852 | |                     ty,
[INFO] [stdout]  853 | |                 ) {
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2612:9
[INFO] [stdout]      |
[INFO] [stdout] 2612 |           assert_type!("0UL - 1LL", "unsigned long");
[INFO] [stdout]      |           ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]     --> wrecc_compiler/src/compiler/common/types.rs:855:17
[INFO] [stdout]      |
[INFO] [stdout]  855 |                 } else {
[INFO] [stdout]      |                 ^
[INFO] [stdout]      |
[INFO] [stdout]     ::: wrecc_compiler/src/compiler/typechecker/mod.rs:2612:9
[INFO] [stdout]      |
[INFO] [stdout] 2612 |         assert_type!("0UL - 1LL", "unsigned long");
[INFO] [stdout]      |         ------------------------------------------ in this macro invocation
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `setup_type` which comes from the expansion of the macro `assert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/temp_file.rs (1 fix)
[INFO] [stderr]        Fixed src/main.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.31s
[INFO] [stderr] crater-edition-check: wrecc_compiler v0.2.0 (/opt/rustwide/workdir/wrecc_compiler) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: wrecc v0.2.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking wrecc_compiler v0.2.0 (/opt/rustwide/workdir/wrecc_compiler)
[INFO] [stderr]     Checking wrecc v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:859:18
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 &Vec::new(),
[INFO] [stdout]     |                  ^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 862 |             )
[INFO] [stdout]     |             - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 868 |         setup!(input)
[INFO] [stdout]     |         ------------- in this macro invocation
[INFO] [stdout] 869 |             .start()
[INFO] [stdout]     |              ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:860:18
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 &HashMap::new(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 861 |                 0,
[INFO] [stdout] 862 |             )
[INFO] [stdout]     |             - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 868 |         setup!(input)
[INFO] [stdout]     |         ------------- in this macro invocation
[INFO] [stdout] 869 |             .start()
[INFO] [stdout]     |              ----- borrow later used by call
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:859:18
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 &Vec::new(),
[INFO] [stdout]     |                  ^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 862 |             )
[INFO] [stdout]     |             - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 878 |         if let Err(e) = setup!(input).start() {
[INFO] [stdout]     |                         ------------- ----- borrow later used by call
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> wrecc_compiler/src/preprocessor/mod.rs:860:18
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 &HashMap::new(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 861 |                 0,
[INFO] [stdout] 862 |             )
[INFO] [stdout]     |             - temporary value is freed at the end of this statement
[INFO] [stdout] ...
[INFO] [stdout] 878 |         if let Err(e) = setup!(input).start() {
[INFO] [stdout]     |                         ------------- ----- borrow later used by call
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `setup` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wrecc_compiler` (lib test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020", kill_on_drop: false }`
[INFO] [stdout] 1947b95734d510aa723779e5d49c31cc0f3e7315adfa714461484304bb053020
